#define _CRT_SECURE_NO_WARNINGS

typedef int Element;

typedef struct tree_node
{
	struct tree_node* left;
	struct tree_node* right;
	int data;
	int height;
}AVLTreeNode;

typedef struct
{
	AVLTreeNode* root;
	int count;
}AVLTree;


AVLTree* createAVLTree();


void insertAVLTree(AVLTree* tree, Element e);

void inOrderAVLTree(AVLTree* tree);

int heightAVLNode(AVLTreeNode* node);

void releaseAVLTree(AVLTreeNode* tree);

void deleteAVLTree(AVLTree* tree, Element e);